The present invention relates generally to the field of motor drive systems utilized for driving office equipment and/or media feed systems; and, more specifically, to the field of micro-stepping motors and motor control torque resonance and acoustic noise reduction.
Though there are motors of varied kind, shape and configuration within the equipment that serves our daily lives (everything from office equipment to cameras), they all serve the basic purpose of converting electrical energy into mechanical energy to drive a system component. One segment of this diverse motor population is represented by the group referred to as xe2x80x9cstepper motorsxe2x80x9d. These motors convert a series of electrical pulses into rotational movements of specific duration. The movement resulting from each pulse is consistent both in time and space, thus making stepper motors an ideal means for positioning objects or media.
One example of the use of a stepper motor to accurately and consistently position an object is disclosed in U.S. Pat. No. 5,410,338 for a Method And Apparatus For Moving An Object With Uniform Motion, issued Apr. 25, 1995 to Jadrich et al. (hereinafter referred to as xe2x80x9cJadrichxe2x80x9d). Jadrich discloses an apparatus for printing an image to an object. The apparatus comprises a lead screw adapted to move the object to be printed upon and a stepper motor adapted to rotate the lead screw in a series of rotational steps wherein each step was less than that of the lead screw. Thus, Jadrich is an excellent example of a drive need that is successfully met by the use of a stepper motor. In this case, the lead screw, for each revolution, possessed a predetermined pattern of relationships between an amount of displacement of the object and each step of the stepper motor.
Another example of the use of stepper motors is provided by U.S. Pat. No. 5,852,354 for a Mutiplexing Rate Generator/Counter Circuit For Controlling Stepper Motors issued Dec. 22, 1998 to J. Randolph Andrews (hereinafter referred to as xe2x80x9cAndrewsxe2x80x9d). In Andrews, a multiplexing circuit was provided so that up to sixteen different stepping motors could share a single rate generator.
As the stepper motor population group diversified with the myriad applications that the motor population could serve, stepper motors were modified and redefined through control of the circuits that guide the electrical impulses that drive the motors. One of the early problems that led to such modification was the determination that when the motor was running at conventional full or half-step mode, there was a significant increase in noise level and torque resonance. The answer to the problem was found in xe2x80x9cmicro-steppingxe2x80x9d the motor.
The increase in noise and torque resonance are a byproduct of the conventional stepper motor design. Permanent magnet type stepper motors generally comprise coil windings, magnetically conductive stators and a permanent magnet rotor. An electromagnetic field having opposite poles (a north and a south pole) is created when the coil winding is energized. The magnetic field is carried by the magnetically conductive stators, thus causing the rotor to align itself with the magnetic field. The field, in turn, can be shifted by xe2x80x9csteppingxe2x80x9d (through sequentially energizing) the stator coils to generate a rotary motion. Various forms of stepping exist; these include: xe2x80x9cone phase onxe2x80x9d and xe2x80x9ctwo phase onxe2x80x9d stepping, as well as half-stepping.
Half-stepping occurs when an xe2x80x9coffxe2x80x9d state is inserted between transitioning phases, thus cutting the stepper motor""s full step angle in half. Half stepping, however, results in a loss of torque compared to other forms of stepping such as xe2x80x9ctwo phase onxe2x80x9d. The loss of torque is the result of one of the coil windings not being energized during alternate half steps, thus reducing the electromagnetic force being exerted on the rotor.
Coil windings too, can be of varied type such as xe2x80x9cbipolarxe2x80x9d or xe2x80x9cunipolarxe2x80x9d winding. In bipolar coil winding, each phase consists of a single winding. If the current flow in the windings is reversed through switching, then the electromagnetic polarity of the phase is reversed. Unipolar winding, on the other hand, consists of two windings on a common pole. The opposite poles are created when the separate windings are energized. In unipolar winding, the electromagnetic polarity from the drive to the coil windings is not reversed as is the case with bipolar windings. Unipolar windings though, produce less torque than their bipolar counterparts because the energized coil only utilizes half as much of the conductive winding (typically copper).
In addition to problems with torque in its many forms, stepper motors generate a resonant frequency as a result of their basic spring-mass configurations. When the motor""s step rate equals the motor""s natural frequency, there is an increase in the noise level of the motor as well as an increase in motor vibration. In addition to the increased noise burden on system users, continued vibration can weaken the system structure and efficiency.
Changing the step rate or microstepping the motor are the two most common means of reducing resonance problems. Microstepping divides a full step into smaller steps and helps reduce noise levels and produce smoother output motion in addition to reducing resonance.
The microstepping of a motor has been disclosed in the prior art with reference to the addressing of specific needs. Such a need is answered in U.S. Pat. No. 5,359,271 for a Microstepping Bipolar Stepping Motor Controller For Document Positioning issued Oct. 25, 1994 to Frederick K. Husher (hereinafter referred to as xe2x80x9cHusherxe2x80x9d). In Husher, one object of the invention was to provide an inexpensive controller that could drive a stepping motor in a microstep mode while yielding a multiple of defined position steps as compared to the number of physical motor poles.
Another need answered by microstepping a motor is disclosed in U.S. Pat. No. 4,710,691 for a Process And Apparatus For Characterizing And Controlling A Synchronous Motor In Microstepper Mode issued Dec. 1, 1987 to Bergstrom et al. (hereinafter referred to as xe2x80x9cBergstromxe2x80x9d). Bergstrom discloses the use of motor characterization stored in memory for use as a control of the rotational motion of the stepper motor.
The prior art, in addressing such issues as resonance and motion control, has still failed to produce a relatively simple drive system that can be easily adapted to a variety of equipment in a simple, yet efficient, way. There exists a need for a low-cost, easily replicable, micro-stepping motor in which the torque resonance and noise levels are reduced over those of prior art motors.
The invention is a method of controlling a microstepping motor while utilizing a logic circuit. The method comprises a number of steps that begin with initializing the logic circuit in accordance with the requirements of a profile/index bit generated by a microcontroller. This initialization step comprises the further steps of establishing an initial stage for the logic circuit; determining whether or not to run the motor in stand-alone mode; and, if said determination is xe2x80x9cNOxe2x80x9d then running the motor in pulse controlled mode. The profile/index bit representative of the mode choice is then generated.
The logic circuit""s initial stage comprises the initialization of a set of one or more data registers; configuration of interrupts in accordance with the motor use profile; configuration of input/output ports in accordance with the system profile; and, the setting of timer prescales.
The method next performs a logic sequence wherein the sequence determines a motor use profile, a system profile, and a program flow. After completion of the logic sequence, the method performs a step sequence to establish the timing pattern of electrical impulses to be directed to one or more integrated circuits. A predetermined acceleration table is established in a program memory having a set of delay constants, wherein the set of delay constants contain the timing sequences for each step in the motor use profile. The acceleration table is then accessed so as to implement acceleration. The acceleration table is established for each profile and each step mode.
The logic circuit points to the acceleration table chosen by the profile/index bit and establishes a set of variables according to the step mode and direction. Further, the logic circuit performs a set of three states in the motion profile wherein two of the three states involve acceleration and wherein the remaining one of the three states involves slew.
The logic circuit returns a delay constant from the acceleration table and places a set of data relative to the delay constant in one or more registers for use by the step sequencing routine.
The step sequencing step comprises the further step of delivering a timing sequence to the integrated circuit wherein the sequence is further comprised of a set of interrupt service routines, and, wherein each one of the interrupt service routines corresponds to a state of the motion profile. Each one of the interrupt service routines reloads a timer with a next delay constant and sends the next delay constant to the integrated circuit before updating the step count.
The microcontroller in stand-alone mode will accelerate the motor then slew the motor in accordance with a preprogrammed velocity selected by the profile bit. The microcontroller decelerates the motor to a stop upon a change in the control bits, reads the changed control bits, and performs an action in accordance with the changed control bit configuration. If the mode is a pulse controlled mode, however, then the microcontroller directly correlates a motor velocity to an input pulse signal.